package com.li.springbootproject.spring.container;

/**
 * @author LiDong
 * @version 1.0.0
 * @className SpringContainer.java
 * @createTime 2021年06月16日 21:24:00
 */
public class SpringContainer {

    /**
     * Spirng 容器初始化过程
     *
     * refresh()
     *
     * ——》 prepareRefresh(): 容器预先准备，记录容器启动的时间和标记
     * ——》 obtainFreshBeanFactory(): 实现对beanDefinition的装载
     * ——》 prepareBeanFactory(): 配置Bean工厂的上下文特性，例如类加载器、预知处理器（postprocess）等
     * ——》 postProcessBeanFactory(): 提供一个修改BeanFactory的方法
     * ——》 invokeBeanFactoryPostProcessors(): Bean未开始实例化时候，提供对BeanDefine修改的接口
     * ——》 registerBeanPostProcessors(): 注册bean创建的bean处理器
     * ——》 initMessageSource(): 初始化MessageResource
     * ——》 initApplicationEventMulticaster(): 初始化事件多播机制
     * ——》 onRefresh(): 初始化其他特殊Bean
     * ——》 registerListeners(): 注册监听器
     * ——》 finishBeanFactoryInitialization(): 完成容器的初始化
     * ——》 finishRefresh():
     */


}
